<template>
  <div class="mui-numbox" data-numbox-min='1' data-numbox-max='9'>
    <button class="mui-btn mui-btn-numbox-minus" type="button">-</button>
    <input id="test" class="mui-input-numbox" type="number" value="1" @change="countChanged" ref="numbox"/>
    <button class="mui-btn mui-btn-numbox-plus" type="button">+</button>
  </div>
</template>

<script>
// 集成mui
import mui from "../../lib/mui/js/mui.min.js";

export default {
  mounted() {
    // 初始化 mui-numbox
    mui(".mui-numbox").numbox();
    console.log(this.max);
  },
  methods: {
    // 子组件中改变数量时使用this.$emit发布事件
    countChanged() {
      // 每当数据被修改的时候, 立即把最新的数据,通过事件调用, 传递给父组件
      // console.log(this.$refs.numbox.value);
      this.$emit("getcount", parseInt(this.$refs.numbox.value));
    }
  },
  // 子组件中定义 props接收值
  props: ["max"],
  watch: {
    // 属性监听
    max: function(newVal, oldVal) {
      // 使用 JS API 设置numbox 的最大值
      // 看mui 官方文档 有提供的方法 如何设置 mui-numbox 的最大值
      mui(".mui-numbox")
       .numbox()
       .setOption("max", newVal)
    }
  }
}
</script>

<style lang="scss" scoped>

</style>
